delegated execution系の仕様
一覧
ERC-865 Pay transfers in tokens instead of gas, in one transaction
ERC-948, EIP-1337 Subscriptions on the blockchain
ERC-965 Authorize Operator by Cheque (ERC777 extension) - possibility to transfer without paying for gas
ERC-1035 Transaction execution batching and delegation
ERC-1056 ERC: Lightweight Identity
ERC-1077 Executable Signed Messages refunded by the contract
ERC-1228 Delegated Execution
EIP-1613 Gas stations network
ERC-1776 Native Meta Transactions
概要
トランザクションの実行を3rd partyに任せるための仕様や実装。利用用途としては
gasの支払いを肩代わりすることによるUXの改善
定期購入
など
upgradable contractなどを作るProxy patternについてはこちら -> Proxy系の仕様
ERC-1776: Native Meta Transactions
WIP
ERC-865 Pay transfers in tokens instead of gas, in one transaction
tokenをtransferする際にdelegateにgasを負担してもらい、delegateに対してtokenを支払う方法
https://gyazo.com/6ce59501e1282b793d1b554a0ecaee53
from: tokenの送信元の人
to: tokenの送信先の人
delegate: トランザクションの実行、gasの支払いをする人
fee: delegateに支払うトークンの料
amount: toに送るトークンの料
1. Aliceがnonce, from, to, delegate, fee, amountを指定して自分のprivate keyで署名する
2. CharlieがAliceの署名されたsignatureとto, amount, fee, nonceを指定してtransactionを実行する
3. Bobにamount、Charlieにfeeのtokenが送られる
ERC-1077 Executable Signed Messages refunded by the contract
ERC865をtokenのtran sferだけでなく一般のtransactionの実行に発展させたようなもの。
To: 呼び出し先のコントラクト
From: 呼び出し元のコントラクト
Value: ETHのvalue
Data: 実行するバイトコード
Nonce: nonceまたはtimestamp
GasToken: gasとして支払うトークン(0の場合はETH)
GasPrice: gas price
GasLimit: gas limit
https://gyazo.com/653f9741f3042a2d999d256186b161bb
ERC-948, EIP-1337 Subscriptions on the blockchain
subscriptionの文脈で使われるもの
moonty_sal.icon さんがきっとまとめてくれる -> WIP ERC1337 Subscription Standard
ERC-965 Authorize Operator by Cheque (ERC777 extension) - possibility to transfer without paying for gas
ERC777のOperatorの仕組みを使ってtransactionを代わりにOperatorに実行してもらう
ERC1035 Transaction execution batching and delegation
配列でdataやsignatureを渡してbatch的に実行させることを検討している
ERC-1056 ERC: Lightweight Identity
delegator, データ(byte32)の名前、データ(bytes)を登録するシンプルな仕様
登録時のgas costを安くするのが目的
どうTxを実行するかは特に決められていない
ERC-1228 Delegated Execution
トランザクション実行時に渡す元のトランザクション用のデータを payload という形にしてなんでも受け付けるようにしている
payloadをon-chainに保存出来る
リンク
実装
Status: Identity Gas Relay
Gnosis: Safe Contract
uPort: Meta transactions
https://github.com/iurimatias/TransactionRelay
その他
ERC777: A New Advanced Token Standard
#Solidity #ERC #EIP